updating the ratings

packages

library(tidyverse) # CRAN v1.3.0 
library(progress) # CRAN v1.2.2 
library(ggrepel)
library(lubridate)
library(conflicted) # CRAN v1.0.4
conflict_prefer("filter", "dplyr") 
[conflicted] Removing existing preference
[conflicted] Will prefer dplyr::filter over any other package
source("functions.R")
source("cleaning.R")
source("estimation.R")
source("graphs.R")
options(dplyr.summarise.inform = FALSE)

load up latest games and “pre” ratings

games <- read_rds("~/Documents/r-projects/scoresway/rds/games.rds")
with_pre <- read_rds("wpre.rds")
with_pre

updated ratings

k <- 20
options(dplyr.summarise.inform = FALSE)
pb <- progress_bar$new(format = " progress [:bar] :percent eta: :eta", total = nrow(with_pre), width = 40)
with_pre %>% 
  mutate(rat=map2(this, pre, ~this_ratings(.x, .y, k, games))) %>% 
  mutate(post=map(rat, "r")) %>% 
  mutate(updates=map(rat, "d")) -> with_post

 progress [>-------------]   4% eta:  5s
 progress [>-------------]   5% eta:  6s
 progress [>-------------]   7% eta:  7s
 progress [>-------------]   8% eta:  7s
 progress [>-------------]   9% eta:  7s
 progress [>-------------]  11% eta:  7s
 progress [=>------------]  12% eta:  7s
 progress [=>------------]  13% eta:  7s
 progress [=>------------]  14% eta:  7s
 progress [=>------------]  16% eta:  7s
 progress [=>------------]  17% eta:  7s
 progress [==>-----------]  18% eta:  7s
 progress [==>-----------]  20% eta:  7s
 progress [==>-----------]  21% eta:  7s
 progress [==>-----------]  22% eta:  7s
 progress [==>-----------]  24% eta:  7s
 progress [===>----------]  25% eta:  7s
 progress [===>----------]  26% eta:  7s
 progress [===>----------]  28% eta:  7s
 progress [===>----------]  29% eta:  7s
 progress [===>----------]  30% eta:  7s
 progress [===>----------]  32% eta:  7s
 progress [====>---------]  33% eta:  7s
 progress [====>---------]  34% eta:  7s
 progress [====>---------]  36% eta:  7s
 progress [====>---------]  37% eta:  6s
 progress [====>---------]  38% eta:  6s
 progress [=====>--------]  39% eta:  6s
 progress [=====>--------]  41% eta:  6s
 progress [=====>--------]  42% eta:  6s
 progress [=====>--------]  43% eta:  6s
 progress [=====>--------]  45% eta:  6s
 progress [=====>--------]  46% eta:  6s
 progress [======>-------]  47% eta:  5s
 progress [======>-------]  49% eta:  5s
 progress [======>-------]  50% eta:  5s
 progress [======>-------]  51% eta:  5s
 progress [======>-------]  53% eta:  5s
 progress [=======>------]  54% eta:  5s
 progress [=======>------]  55% eta:  5s
 progress [=======>------]  57% eta:  4s
 progress [=======>------]  58% eta:  4s
 progress [=======>------]  59% eta:  4s
 progress [=======>------]  61% eta:  4s
 progress [========>-----]  62% eta:  4s
 progress [========>-----]  63% eta:  4s
 progress [========>-----]  64% eta:  4s
 progress [========>-----]  66% eta:  3s
 progress [========>-----]  67% eta:  3s
 progress [=========>----]  68% eta:  3s
 progress [=========>----]  70% eta:  3s
 progress [=========>----]  71% eta:  3s
 progress [=========>----]  72% eta:  3s
 progress [=========>----]  74% eta:  3s
 progress [=========>----]  75% eta:  3s
 progress [==========>---]  76% eta:  2s
 progress [==========>---]  78% eta:  2s
 progress [==========>---]  79% eta:  2s
 progress [==========>---]  80% eta:  2s
 progress [==========>---]  82% eta:  2s
 progress [===========>--]  83% eta:  2s
 progress [===========>--]  84% eta:  2s
 progress [===========>--]  86% eta:  1s
 progress [===========>--]  87% eta:  1s
 progress [===========>--]  88% eta:  1s
 progress [============>-]  89% eta:  1s
 progress [============>-]  91% eta:  1s
 progress [============>-]  92% eta:  1s
 progress [============>-]  93% eta:  1s
 progress [============>-]  95% eta:  1s
 progress [============>-]  96% eta:  0s
 progress [=============>]  97% eta:  0s
 progress [=============>]  99% eta:  0s
 progress [==============] 100% eta:  0s
                                        
with_post

save

write_rds(with_post, "wpost.rds")

read

with_post <- read_rds("wpost.rds")

look at one

with_post %>% filter(league=="japan") %>% 
  unnest(post) %>% 
  select(team, rating, h) %>% arrange(desc(rating))

look at all

see post values sorted in tabs

since_hrs <- 24
with_post %>% 
  mutate(latest=map_dbl(updates, ~max(.$time_stamp))) %>% 
  mutate(since=(now()-as_datetime(latest))/dhours(1)) %>% 
  filter(since<=since_hrs) -> wp2
wp2

see post values sorted in tabs

# read_csv("wanted.txt") %>% pull(want) -> wants
# wants
# with_post <- read_rds("wpost.rds")
# with_post %>% filter(league %in% wants) %>%  # edit/remove slice
wp2 %>% 
  arrange(desc(league)) %>% 
  select(post, updates, league) %>% 
  pwalk(~display(..1, ..2, ..3)) # first input to pwalk can be a df

plot

# time_graph("england 2", with_post)
map(wp2$league, ~time_graph(., with_post))
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
Joining, by = "team"
[[1]]

[[2]]

[[3]]

[[4]]

[[5]]

[[6]]

[[7]]

[[8]]

[[9]]

[[10]]

[[11]]

LS0tCnRpdGxlOiAidXBkYXRpbmciCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMgdXBkYXRpbmcgdGhlIHJhdGluZ3MKCiMjIHBhY2thZ2VzCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpICMgQ1JBTiB2MS4zLjAgCmxpYnJhcnkocHJvZ3Jlc3MpICMgQ1JBTiB2MS4yLjIgCmxpYnJhcnkoZ2dyZXBlbCkKbGlicmFyeShsdWJyaWRhdGUpCmxpYnJhcnkoY29uZmxpY3RlZCkgIyBDUkFOIHYxLjAuNApjb25mbGljdF9wcmVmZXIoImZpbHRlciIsICJkcGx5ciIpIApzb3VyY2UoImZ1bmN0aW9ucy5SIikKc291cmNlKCJjbGVhbmluZy5SIikKc291cmNlKCJlc3RpbWF0aW9uLlIiKQpzb3VyY2UoImdyYXBocy5SIikKb3B0aW9ucyhkcGx5ci5zdW1tYXJpc2UuaW5mb3JtID0gRkFMU0UpCmBgYAoKIyMgbG9hZCB1cCBsYXRlc3QgZ2FtZXMgYW5kICJwcmUiIHJhdGluZ3MKCmBgYHtyfQpnYW1lcyA8LSByZWFkX3Jkcygifi9Eb2N1bWVudHMvci1wcm9qZWN0cy9zY29yZXN3YXkvcmRzL2dhbWVzLnJkcyIpCndpdGhfcHJlIDwtIHJlYWRfcmRzKCJ3cHJlLnJkcyIpCndpdGhfcHJlCmBgYAoKCgojIyB1cGRhdGVkIHJhdGluZ3MKCmBgYHtyfQprIDwtIDIwCm9wdGlvbnMoZHBseXIuc3VtbWFyaXNlLmluZm9ybSA9IEZBTFNFKQpwYiA8LSBwcm9ncmVzc19iYXIkbmV3KGZvcm1hdCA9ICIgcHJvZ3Jlc3MgWzpiYXJdIDpwZXJjZW50IGV0YTogOmV0YSIsIHRvdGFsID0gbnJvdyh3aXRoX3ByZSksIHdpZHRoID0gNDApCndpdGhfcHJlICU+JSAKICBtdXRhdGUocmF0PW1hcDIodGhpcywgcHJlLCB+dGhpc19yYXRpbmdzKC54LCAueSwgaywgZ2FtZXMpKSkgJT4lIAogIG11dGF0ZShwb3N0PW1hcChyYXQsICJyIikpICU+JSAKICBtdXRhdGUodXBkYXRlcz1tYXAocmF0LCAiZCIpKSAtPiB3aXRoX3Bvc3QKd2l0aF9wb3N0CmBgYAoKCgoKc2F2ZQoKYGBge3J9CndyaXRlX3Jkcyh3aXRoX3Bvc3QsICJ3cG9zdC5yZHMiKQpgYGAKCnJlYWQKCmBgYHtyfQp3aXRoX3Bvc3QgPC0gcmVhZF9yZHMoIndwb3N0LnJkcyIpCmBgYAoKbG9vayBhdCBvbmUKCmBgYHtyfQp3aXRoX3Bvc3QgJT4lIGZpbHRlcihsZWFndWU9PSJqYXBhbiIpICU+JSAKICB1bm5lc3QocG9zdCkgJT4lIAogIHNlbGVjdCh0ZWFtLCByYXRpbmcsIGgpICU+JSBhcnJhbmdlKGRlc2MocmF0aW5nKSkKYGBgCgoKIyMgbG9vayBhdCBhbGwKCnNlZSBwb3N0IHZhbHVlcyBzb3J0ZWQgaW4gdGFicwoKYGBge3J9CnNpbmNlX2hycyA8LSAyNAp3aXRoX3Bvc3QgJT4lIAogIG11dGF0ZShsYXRlc3Q9bWFwX2RibCh1cGRhdGVzLCB+bWF4KC4kdGltZV9zdGFtcCkpKSAlPiUgCiAgbXV0YXRlKHNpbmNlPShub3coKS1hc19kYXRldGltZShsYXRlc3QpKS9kaG91cnMoMSkpICU+JSAKICBmaWx0ZXIoc2luY2U8PXNpbmNlX2hycykgLT4gd3AyCndwMgpgYGAKCgpzZWUgcG9zdCB2YWx1ZXMgc29ydGVkIGluIHRhYnMKCmBgYHtyfQojIHJlYWRfY3N2KCJ3YW50ZWQudHh0IikgJT4lIHB1bGwod2FudCkgLT4gd2FudHMKIyB3YW50cwojIHdpdGhfcG9zdCA8LSByZWFkX3Jkcygid3Bvc3QucmRzIikKIyB3aXRoX3Bvc3QgJT4lIGZpbHRlcihsZWFndWUgJWluJSB3YW50cykgJT4lICAjIGVkaXQvcmVtb3ZlIHNsaWNlCndwMiAlPiUgCiAgYXJyYW5nZShkZXNjKGxlYWd1ZSkpICU+JSAKICBzZWxlY3QocG9zdCwgdXBkYXRlcywgbGVhZ3VlKSAlPiUgCiAgcHdhbGsofmRpc3BsYXkoLi4xLCAuLjIsIC4uMykpICMgZmlyc3QgaW5wdXQgdG8gcHdhbGsgY2FuIGJlIGEgZGYKYGBgCgoKIyMgcGxvdAoKYGBge3IsIGZpZy53aWR0aD0xMCwgZmlnLmhlaWdodD05fQojIHRpbWVfZ3JhcGgoImVuZ2xhbmQgMiIsIHdpdGhfcG9zdCkKbWFwKHdwMiRsZWFndWUsIH50aW1lX2dyYXBoKC4sIHdpdGhfcG9zdCkpCmBgYAoK